Automatic Array Alignment for Distributed Memory Multicomputers
نویسندگان
چکیده
Languages such as Fortran D and High Performance Fortran use ex plicit virtual processor arrays Templates or Decompositions to which the programmer explicitly aligns the arrays of the program We explore a technique to automate this process In particular we are interested in imperative languages similar to Fortran and scienti c computations using indexed data structures arrays We have implemented auto matic alignment in our imperative language using techniques similar to those used for the functional language Crystal Here we show what changes we made to the procedure to take into account the imperative nature of our source language In particular a functional language has a single assignment attribute each array element is de ned only once An imperative language allows array elements to be rede ned this al lows the imperative program to use arrays with fewer dimensions as we show Our compiler technique resurrects the lost dimensions of the data arrays to successfully apply automatic data alignment
منابع مشابه
Automatic Array Alignment as a Step in Hierarchical Program Transformation
We present an original approach to automatic array alignment, the step in the hierarchical transformation system aimed at the efficient execution of shared memory programs on distributed memory machines. Our array alignment algorithm deals with a broad set of intra-dimension and inter-dimension alignment preferences, including offsets, strides, permutations, embeddings, and their combinations. ...
متن کاملCompile-Time Estimation of Communication Costs on Multicomputers
An important problem facing numerous research projects on parallelizing compilers for distributed memory machines is that of automatically determining a suitable data partitioning scheme for a program. Any strategy for automatic data partitioning needs a mechanism for estimating the performance of a program under a given partitioning scheme, the most crucial part of which involves determining t...
متن کاملAutomatic Generation of E cient Array Redistribution
Appropriate data distribution has been found to be critical for obtaining good performance on Distributed Memory Multicomputers like the CM-5, Intel Paragon and IBM SP-1. It has also been found that some programs need to change their distributions during execution for better performance (redistribution). This work focuses on automatically generating eecient routines for redistribution. We prese...
متن کاملProcessor Tagged Descriptors: A Data Structure for Compiling for Distributed-Memory Multicomputers
The computation partitioning, communication analysis, and optimization phases performed during compilation for distributed-memory multicomputers require an eecient way of describing distributed sets of iterations and regions of data. Processor Tagged Descriptors (PTDs) provide these capabilities through a single set representation parameterized by the processor location for each dimension of a ...
متن کاملCompile-Time Estimation of Communication Costs in Multicomputers
An important problem facing numerous research projects on parallelizing compilers for distributed memory machines is that of automatically determining a suitable data partitioning scheme for a program. Any strategy for automatic data partitioning needs a mechanism for estimating the performance of a program under a given partitioning scheme, the most crucial part of which involves determining t...
متن کامل